Access - Help!! Access --> SQL

 
Vista:

Help!! Access --> SQL

Publicado por Maria (1 intervención) el 18/09/2006 09:10:53
Estoy haciendo un traspaso de access a SQLServer con una sentencia de Access a SQLSERVER.

En acces tengo la sentencia :

"SELECT AF.NMGESTOR AS Gestora, AF.COMTOT & '%', AF.COMCOREE & '%', FORMAT(AF90.PORCOMRT, "###0.#0" ) & '%', FORMAT(((AF.COMGEST*AF90.PORCOMRT)/100), "###0.#0") & '%', AF.DATACT AS FA65, AF90.DATACT AS FA90 FROM (AFBFITXER AS AF LEFT JOIN AFBFITXER90 AS AF90 ON AF.PKISIN=AF90.PKISIN) WHERE (( AF.PKISIN = 'LU0210530662' )) ORDER BY AF.NMGESTOR "

Mi primera duda es:

- Como hace para poner en un campo el porcentaje '%'

En access es así de fácil pero en SQL no lo acepta: AF.COMTOT & '%'

Mi segunda duda es:

- Como se hace para especificar que quiero un campo numèrico con dos decimales.

En access se hace así: FORMAT(AF90.PORCOMRT, "###0.#0" )

Alguien sabe como hacerlo?

Me harías un gran fabor!!

Muchas gracias por adelantado!!

Maria.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Convertir sentencia Access a SQL Server con porcentajes y formato de números

Publicado por Alejandro (4142 intervenciones) el 25/07/2023 22:16:10
Para convertir la sentencia de Access a SQL Server y manejar porcentajes y el formato de números, puedes seguir estas pautas:

1. Porcentajes (%):
En SQL Server, puedes utilizar el símbolo '%' directamente en una cadena sin necesidad de concatenarlo con el campo. Por lo tanto, en lugar de usar `AF.COMTOT & '%'`, simplemente escribe `AF.COMTOT + '%'`.

2. Formato de números con dos decimales:
En SQL Server, puedes usar la función `FORMAT()` para formatear un número con la cantidad de decimales que desees. Para dos decimales, utiliza el patrón '0.00'. Por ejemplo, para formatear el campo `AF90.PORCOMRT` con dos decimales, utiliza `FORMAT(AF90.PORCOMRT, '0.00')`.

Ten en cuenta que SQL Server utiliza un conjunto diferente de funciones y sintaxis en comparación con Access. Aquí te muestro cómo quedaría la sentencia SQL Server adaptada:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT
    AF.NMGESTOR AS Gestora,
    AF.COMTOT + '%' AS ComTot,
    AF.COMCOREE + '%' AS ComCoree,
    FORMAT(AF90.PORCOMRT, '0.00') + '%' AS PorComRt,
    FORMAT((AF.COMGEST * AF90.PORCOMRT) / 100, '0.00') + '%' AS CalculoPorcentaje,
    AF.DATACT AS FA65,
    AF90.DATACT AS FA90
FROM
    AFBFITXER AS AF
LEFT JOIN
    AFBFITXER90 AS AF90 ON AF.PKISIN = AF90.PKISIN
WHERE
    AF.PKISIN = 'LU0210530662'
ORDER BY
    AF.NMGESTOR;

Con esta adaptación, deberías poder ejecutar la sentencia en SQL Server y obtener los resultados deseados.

Recuerda que en SQL Server las funciones, la sintaxis y algunas operaciones son diferentes a las de Access, por lo que es importante revisar y ajustar la sentencia según las especificaciones y el dialecto de SQL Server que estés utilizando.

Espero que esta solución te ayude a convertir la sentencia de Access a SQL Server y manejar los porcentajes y el formato de números correctamente. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar